package mao.leetcode.offer;

import java.util.Arrays;

/**
 * @author Totoro
 * @date 2020/8/12
 * @explain: 一个长度为n-1的递增排序数组中的所有数字都是唯一的，
 * 并且每个数字都在范围0～n-1之内。在范围0～n-1内的 @<parm> n </parm>个数字中有且只有一个数字不在该数组中，
 * 请找出这个数字。
 * :仔细读题。
 */
public class interview53_2 {

    class Solution {
        public int missingNumber(int[] nums) {
            int len = nums.length;
            int sum = (len*(len+1))/2;
            return sum- Arrays.stream(nums).sum();
        }
    }

    class Solution1 {
        public int missingNumber(int[] nums) {
            int len = nums.length;
            int xor = 0;
            for(int i=0;i<=len;i++){
                xor^=i;
            }
            for(int i=0;i<len;i++){
                xor^=nums[i];
            }
            return xor;
        }
    }

}
